package com.songlanyun.modules.withdraw.model.dto;

import com.songlanyun.common.drive.ValueObject;
import com.songlanyun.common.validator.group.UpdateGroup;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 提现列表
 *
 * @author Mark
 * @email sunlightcs@gmail.com
 * @date 2020-11-20 17:47:55
 */
@Data
public class WithdrawDTO implements ValueObject {

    @NotNull(message = "主键不能为空", groups = UpdateGroup.class)
    private Long id;
//    /**
//     * 提现服务积分
//     */
//    @NotNull(message = "提现服务积分不能为空", groups = AddGroup.class)
////    @DecimalMin(value = "10.00", message = "最低提现服务积分为10个", groups = AddGroup.class)
//    private BigDecimal publicServicePoints;
//    /**
//     * 提现金额
//     */
////    @NotNull(message = "提现金额不能为空", groups = AddGroup.class)
//    private BigDecimal money;
//    /**
//     * 提现类型
//     * 0商家所得提现，
//     * 1会员分佣金提现
//     */
//    private WithdrawConstant.WithdrawType withdrawType;
//    /**
//     * 业务单号(提现单号)
//     */
//    private String businessCode;
    /**
     * 流水号（第三方支付单号手填）
     */
    private String thirdPayCode;
//    /**
//     * 收款方式：
//     * 0微信，
//     * 1支付宝，
//     * 2银行
//     * 3现金支付
//     * 4公益积分
//     */
//    @NotNull(message = "收款方式不能为空", groups = AddGroup.class)
//    private Integer paymentTerm;
//
//    /**
//     * 收款人
//     */
//    @Max(value = 8, message = "收款人姓名不能超过8个字")
//    private String payee;
//    /**
//     * 提现账户
//     */
////    @NotBlank(message = "提现账户不能为空", groups = AddGroup.class)
//    @Length(max = 50, message = "提现账户不能超过50个字")
//    private String withdrawAccount;
//    /**
//     * 提现手机
//     */
////    @NotBlank(message = "提现手机不能为空", groups = AddGroup.class)
//    private String withdrawMobile;
//    /**
//     * 商家名称
//     */
//    private String shopName;
//    /**
//     * 用户银行卡ID
//     */
//    private Long userBankId;
    /**
     * 银行名称
     */
    private String bankName;
    /**
     * 审核状态
     * 0待审核
     * 1审核通过
     * 2审核不通过
     */
    @NotNull(message = "审核状态不能为空", groups = UpdateGroup.class)
    private Integer verifyStatus;
    /**
     * 审核人
     */
    private String verifyMan;
    /**
     * 审核意见
     */
    private String verifyOpinion;
    /**
     * 审核备注
     */
    private String verifyRemark;

    /**
     * 打款状态
     * 0：未打款
     * 1：已打款
     */
    private Boolean remitStatus;
    /**
     * 打款人
     */
    private String remitMan;

    /**
     * 打款时间
     */
    private Date remitTime;

}
